1. Field of the Invention
The present invention relates to an apparatus and method of measuring integrity, in which an object whose integrity is to be measured is prevented from being unnecessarily loaded into a memory.
2. Description of the Prior Art
Either symmetrical cipher such as DES or RSA public key cipher is a cipher algorithm used to conceal contents of data from a third party who is not an authorized transmitting or receiving party. Recently, as data is exchanged through a communication network, it is necessary to maintain the confidentiality of data as well as to meet other requirements.
The receiving party is required to identify integrity of data and data authentication, in which identifying the integrity of data assures a user that received data has not been modified intentionally by an unauthorized third party in the course of transmission, and the data authentication allows the user to confirm the provider of the received data.
Fundamentally, the integrity and the data authentication are handled concurrently. The data authentication includes a check on the integrity, and vice versa. This is because the third party who has modified the original data becomes a new transmitting party if the data sent from an original message provider is modified by the third party in the middle of transmission (if integrity is not fulfilled). This is also because the integrity of the data is compromised if the original message provider of the data is not identified.
A hash function is used to assure integrity of data. The hash function outputs a predetermined output value having predetermined data as an input value. If any change in the data occurs, the output value is not effective any longer. If the data are stored in an unsafe place, integrity can sometimes be identified by recalculation of the output value and confirmation that the output value remains unchanged.
FIG. 1 is a block diagram illustrating the construction of an apparatus for measuring integrity according to the related art.
As shown in FIG. 1, the apparatus 10 for measuring integrity according to the related art includes a memory 11, a mapping module 12, a memory module 13, an integration module 14, and a measurement module 15. The mapping module 12 selectively loads data (hereinafter referred to as “second data”) into the memory 11, wherein the second data are divided from data (hereinafter referred to as “first data”) whose integrity is to be measured, in accordance with a memory allocation unit of the memory 11. The memory module 13 stores a hash value of the first data. The integrating module 14 integrates the second data loaded into the memory 11 with other data which are not loaded into the memory 11. The measurement module 15 measures integrity of the first data.
At this time, a plurality of second data divided by memory allocation of the first data are selectively loaded into the memory 11. For example, if the first data are divided into N second data in accordance with the memory allocation unit, the N second data are all loaded into the memory 11 or some of the second data are selectively loaded into the memory 11.
The measurement module 15 measures integrity of the first data through the hash value of the first data, which is stored in the memory module 13. Accordingly, if the plurality of second data are selectively loaded into the memory 11, the measurement module 15 allows the integrating module 14 to integrate the second data, which are not loaded into the memory 11, with the second data which are loaded into the memory 11. Also, to measure integrity of the first data, the measurement module 15 compares the hash value stored in the memory module 13 with an output value obtained by using the integrated data as an input value of a hash function the same as that used to obtain the hash value of the memory module 13.
However, the apparatus in FIG. 1 according to the related art has the problem that measuring the performance of the integrity is deteriorated due to unnecessary loading of the data. That is, since the integrity of the first data is measured through the hash value of the first data before the first data is divided in accordance with the memory allocation unit, if the first data is divided into at least one second data and the at least one second data is selectively loaded into the memory 11, the second data which are not required to be loaded into the memory 11 are loaded into the memory 11. As a result, unnecessary loading occurs, and this causes decreased integrity measuring ability.
The US Patent Unexamined Publication No. 2004-210736 discloses a driver engine having a hash function module and a memory allocation module, and a method of selectively allocating an identifier in accordance with a hash value of a corresponding hash table if collision of a memory occurs. However, this prior art fails to suggest a method of preventing unnecessary loading of data to prevent the measuring performance of integrity from being deteriorated.